שיטות אנליזה לניתוח זמנים משוערך Amortized Time Analysis

Σχετικά έγγραφα
תאריך עדכון אחרון: 27 בפברואר ניתוח לשיעורין analysis) (amortized הוא טכניקה לניתוח זמן ריצה לסדרת פעולות, אשר מאפשר קבלת

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin(

חורף תש''ע פתרון בחינה סופית מועד א'

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

תרגול פעולות מומצאות 3

תרגול מס' 6 פתרון מערכת משוואות ליניארית

ל הזכויות שמורות לדפנה וסטרייך

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור

תרגיל 13 משפטי רול ולגראנז הערות

gcd 24,15 = 3 3 =

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:

( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת

Logic and Set Theory for Comp. Sci.

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם

תכנון דינאמי. , p p p והמטריצה המתקבלת היא בגודל

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1

Hash Tables (המשך) ערבול (Hashing)

גבול ורציפות של פונקציה סקלרית שאלות נוספות

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m

אוניברסיטת בר אילן מבני נתונים תרגולים מרצה: פרופ' שמואל טומי קליין סמסטר ב', תש"ע

co ארזים 3 במרץ 2016

תוכן הפרק: ,best case, average case דוגמאות 1. זמן - נמדד באמצעות מס' פעולות סיבוכיות, דוגמאות, שיפור בפקטור קבוע האלגוריתם. וגודלם. איטרטיביים. לקלט.

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות

סדרות - תרגילים הכנה לבגרות 5 יח"ל

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)

ניהול תמיכה מערכות שלבים: DFfactor=a-1 DFt=an-1 DFeror=a(n-1) (סכום _ הנתונים ( (מספר _ חזרות ( (מספר _ רמות ( (סכום _ ריבועי _ כל _ הנתונים (

אלגברה ליניארית (1) - תרגיל 6

אסימפטוטיים תוכנית הקורס עצי AVL עצי 2-3 עצי דרגות סיבוכיות משוערכת מיון מיון שימושים: גרפים איסוף אשפה

מיונים א': מיון (Sorting) HeapSort. QuickSort תור עדיפויות / ערימה

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p;

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה.

מבני נתונים ויעילות אלגוריתמים

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד.

Charles Augustin COULOMB ( ) קולון חוק = K F E המרחק סטט-קולון.

3-9 - a < x < a, a < x < a

{ : Halts on every input}

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה.

תרגיל 7 פונקציות טריגונומטריות הערות

מתמטיקה בדידה תרגול מס' 5

PDF created with pdffactory trial version

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.

מבני נתונים מבחן מועד א' סמסטר אביב תשס"ו

אינפי - 1 תרגול בינואר 2012

תורת הגרפים - סימונים

קורס: מבוא למיקרו כלכלה שיעור מס. 17 נושא: גמישויות מיוחדות ושיווי משקל בשוק למוצר יחיד

השאלות..h(k) = k mod m

נספח לפרק 10 דוגמא לאנליזה של מכונת מצבים ננסה להבין את פעולתה של מ כונת המצבים הבאה : Input X. q 0 q 1. output D FF-0 D FF-1. clk

מבני נתונים (234218) 1

הגדרה: מצבים k -בני-הפרדה

The No Arbitrage Theorem for Factor Models ג'רמי שיף - המחלקה למתמטיקה, אוניברסיטת בר-אילן

לדוגמא : dy dx. xdx = x. cos 1. cos. x dx 2. dx = 2xdx לסיכום: 5 sin 5 1 = + ( ) הוכחה: [ ] ( ) ( )

s ק"מ קמ"ש מ - A A מ - מ - 5 p vp v=

x a x n D f (iii) x n a ,Cauchy

אלגברה מודרנית פתרון שיעורי בית 6

מתמטיקה בדידה תרגול מס' 13

שאלה 1 V AB פתרון AB 30 R3 20 R

TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE סמסטר אביב תשס"ו מס' סטודנט:

החשמלי השדה הקדמה: (אדום) הוא גוף הטעון במטען q, כאשר גוף B, נכנס אל תוך התחום בו השדה משפיע, השדה מפעיל עליו כוח.

מבני נתונים הגבלת אחריות פרק - 1 אלגוריתמי מיון ואנליזה אסימפטוטית. מיון בועות Sort Bubble מאת : סשה גולדשטיין,

משפטי בקרה ולולאות שעור מס. 3 כל הזכויות שמורות דר' דרור טובי המרכז האוניברסיטאי אריאל

מבני נתונים מבחן מועד ב' סמסטר חורף תשס"ו

מבני נתונים 08a תרגול 8 14/2/2008 המשך ערמות ליאור שפירא

אלגברה לינארית (1) - פתרון תרגיל 11

פרק 13 רקורסיה רקורסיה רקורסיה רקורסיות פשוטות: חישוב עצרת. תמונת המחסנית ב-() factorial רקורסיות פשוטות: פיבונאצ'י

מתמטיקה בדידה תרגול מס' 2

פתרון תרגיל בית 6 מבוא לתורת החבורות סמסטר א תשע ז

קבל מורכב משני מוליכים, אשר אינם במגע אחד עם השני, בכל צורה שהיא. כאשר קבל טעון, על כל "לוח" יש את אותה כמות מטען, אך הסימנים הם הפוכים.

כלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS

Nir Adar

מבני נתונים ואלגוריתמים תרגול #11

מבני נתונים ויעילות אלגוריתמים

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A )

אלגברה ליניארית 1 א' פתרון 2

ניתוח סיבוכיות - פונקציות רקורסיביות פיתוח טלסקופי

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t.

אלגברה א' - פתרונות לשיעורי הבית סמסטר חורף תשס"ט

אלגוריתמים בתורת הגרפים חלק ראשון

גמישויות. x p Δ p x נקודתית. 1,1

תרגול משפט הדיברגנץ. D תחום חסום וסגור בעל שפה חלקה למדי D, ותהי F פו' וקטורית :F, R n R n אזי: נוסחת גרין I: הוכחה: F = u v כאשר u פו' סקלרית:

בסל A רמת התועלת היא: ) - השקה: שיפוע קו תקציב=שיפוע עקומת אדישות. P x P y. U y P y A: 10>6 B: 9>7 A: 5>3 B: 4>3 C: 3=3 C: 8=8 תנאי שני : מגבלת התקציב

סיכום- בעיות מינימוםמקסימום - שאלון 806

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V )

תאריך הבחינה: שם המרצה: רפי כהן שם המתרגל: יסודות מבני נתונים שם הקורס:

תרגול 8: מטלאב לולאות

א הקיטסי ' טטסל אובמ רלדנ הינור בג '

מבני נתונים אדמיניסטרציה ד"ר אלכס סמורודניצקי, רוס 210, שני 5:30 4:15. ציון:

"קשר-חם" : לקידום שיפור וריענון החינוך המתמטי

םינותנ ינבמ 3 ליגרתמ תולאשל המוד תולאש טסל תונורתפ תולאשה

2 יח"ל ) השלמה ל - 5 יח"ל) (50 נקודות) מעבר חוקי, ו-'שקר' אחרת.

Transcript:

2-3 trees שיטות אנליזה לניתוח זמנים משוערך Amortized Time Analysis Lecture 14 of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds Chapter 17 Amortized Analysis (405 429) חומר קריאה לשיעור זה: Geiger & Itai, 2011 חלק מהשקפים משתמשים בתרגומיו הנאים של המתרגל גיל כהן בקורס שיטות באנליזה של אלגוריתמים )236715( משנת 2008.

2-3 trees זמן ומחיר משוערך 2 הגדרה: אם n פעולות מתבצעות פעולה מוגדר להיות.T(n)/n בזמן כולל,T(n) אזי הזמן המשוערך לכל נימוקים להגדרה: כאשר ישנה סדרה ארוכה של פעולות שרובן קלות לביצוע וחלקן קשה לביצוע )כגון במימוש האחרון של,)union-find אז ההשפעה של הפעולות הקשות מתחלקת על סדרת הפעולות כולה. יתכן גם מצב שזמן בצוע הפעולה משתנה כתוצאה מ"עזרה" הניתנת בזמן פעולה קודמת )למשל find המכווצת מסלולים( ואז הזמן המשוערך הוא מדד המתחשב בתרומה של פעולה אחת לרעותה. cs,technion בהרצאה זו נמיר את מושג הזמן במושג מחיר. נדבר על מחיר משוערך ומחיר בפועל. המרה זו רלוונטית כל עוד המחיר הכולל פרופורציונאלי לזמן הכולל. המרה פשוטה זו מאפשרת חשיבה אנליטית בזווית ראיה חדשה. נראה שלוש שיטות ניתוח: צבירה, חיובים, פוטנציאל.

2-3 trees מחסנית עם פקודת הוצאה מורחבת נזכר בפעולות הרגילות של המחסנית push(s,x) pop(s), הלוקחות זמן (1)O. נגדיר את מחיר כל פעולה להיות יחידה אחת. 3 נגדיר פעולה נוספת: multipop(s,k) - הפעולה מוציאה מהמחסנית את k האיברים העליונים ואם ישנם פחות איברים אז הפעולה מרוקנת את המחסנית. המימוש ע"י בצוע של פעולות pop(s) בלולאה עד להתרוקנות המחסנית או הוצאת k איברים. זמן O(min(k,s)) כאשר s הוא מספר האיברים במחסנית. מחיר הפעולה מוגדר כמספר ההפעלות של פעולת ה.pop(S) cs,technion

2-3 trees ניתוח בשיטת הצבירה Aggregate Analysis בשיטת הצבירה לעריכת אנליזה משוערכת מראים שכל סדרה של n פעולות עולה במקרה הגרוע מחיר כולל,T(n) ומכאן שהמחיר המשוערך של פעולה במקרה הגרוע הוא.T(n)/n 4 בנתוח גס: פעולת multipop בודדת יכולה לעלות מחיר n הגרוע עבור סדרה של n פעולות יידרש מחיר של ) 2.O(n ולכן במקרה בניתוח עדין: לכל סדרה של n פעולות יידרש במקרה הגרוע מחיר O(n) שכן לכל פעולת multipop שמחירה k קדמו k פעולות push )המחסנית מתחילה ריקה( ולכן סך המחיר של 2k מתחלק על פני 1+k פעולות והמחיר המשוערך הוא (1)O. תוצאה זו היא למקרה הגרוע ביותר. היא נכונה לכל סדרת פעולות באורך n. cs,technion

2-3 trees ניתוח בשיטת החיובים Accounting method בשיטת החיובים זוקפים לחובתה של כל פעולה עלות הנקראת המחיר המשוערך.(amortized cost) C i כאשר המחיר המשוערך של פעולה גבוה מהמחיר בפועל c, i ההפרש משמש כיתרת זכות.(credit) ביתרה זו ניתן להשתמש בעתיד לסיוע בתשלום פעולות שהמחיר המשוערך שלהם קטן ממחירם בפועל. המחיר המשוערך הכולל של כל סדרת פעולות חייב להיות חסם עליון על המחיר הכולל בפועל של הסדרה )אסורה יתרת חובה( כלומר: 5 cs,technion

2-3 trees ניתוח המחסנית בשיטת החיובים 6 המחיר בפועל לפעולות המחסנית הוא: 1 שקל לפעולת,pop 1 שקל לפעולת push וכן min(k,s) שקלים לפעולת ה- multipop. נגדיר מחיר משוערך של 2 שקלים לכל פעולת Push עבור שאר הפעולות. ומחיר 0 שקלים cs,technion

2-3 trees ניתוח בשיטת הפוטנציאל The Potential method בשיטת הפוטנציאל התשלום מראש עבור ביצוע פעולות אינו משויך כיתרה לזכות עצם מסוים במבנה הנתונים, אלא כאנרגיה פוטנציאלית של מבנה הנתונים כגוף אחד. פוטנציאל אשר ניתן לשחרר כדי לשלם עבור פעולות בעתיד. נסמן את מבנה הנתונים לאחר פעולה i ע"י D i וב- Φ את פונקציית הפוטנציאל. המחיר המשוערך נקבע ע"י המחיר בפועל בתוספת הפרש הפוטנציאלים: 7 בסיכום על כל הפעולות מקבלים: cs,technion

2-3 trees 8 ניתוח המחסנית בשיטת הפוטנציאל בהגדרות אלה: מחיר משוערך של Push הוא 1+1= 2 כאשר 1 הוא הפרש הפוטנציאלים בתוספת 1 של המחיר בפועל. מחיר משוערך של multipop(s,k) הוא 0 שכן מחיר הפעולה בפועל שווה בדיוק להפסד הפוטנציאל. שניהם שווים ל-( min(k,s. מחיר משוערך ל- pop גם אפס מאותה סיבה. המחיר המשוערך ל- n O(n) פעולות הוא וזהו חסם למחיר בפועל.

2-3 trees 9 שלוש השיטות ממעוף הציפור שיטת הצבירה: מציאת חסם לכל סדרת פעולות. שיטת החיוב: צבירת קרדיט בגין פעולות מסוימות. שיטת הפוטנציאל: צבירת פוטנציאל במבנה הנתונים לשימוש פעולות עתידיות. שיטת הפוטנציאל היא הגמישה ביותר אך לעיתים נוח יותר לחשוב בשיטות האחרות.

2-3 trees 10 בעיית המונה הבינארי נבחן את שלוש השיטות באמצעות פעולה על מונה בינארי בן k סיביות. ייצוגו של המונה הוא A=a 1-k a 1 a 0 וערכו הוא המספר המיוצג בו בבסיס 2 )מודולו 2) k כאשר a 0 היא הספרה הפחות משמעותית. המונה מאותחל לאפס. הפעולה שנרצה לתמוך בה היא פעולת ה- Increment המגדילה את ערך המונה באחד )מודולו 2). k A=11010111 A=11011000 A=11011001 A=11011010 לאחר הוספת מספר אחדים: לאחר הוספת עוד 1: לאחר הוספת עוד 1: לאחר הוספת עוד 1:

2-3 trees 11 בעיית המונה הבינארי Increment(A) i 0 while i< length(a) and a i = 1 do a i 0 i i+1 if i< length(a) then a i 1 הפעולה ממומשת באופן הבא: המחיר של פעולת Increment תלוי ליניארית במספר הסיביות שהחליפו את ערכן. מחיר סדרה של n פעולות חסום ע"י.O(nk) לפיכך חסם פשוט למחיר )והזמן( המשוערך לפעולה הוא.O(k) גרוע!!!!!

2-3 trees 12 ניתוח בשיטת הצבירה A=11010111 A=11011000 A=11011001 A=11011010 לאחר הוספת 1: לאחר הוספת עוד 1: לאחר הוספת עוד 1:

2-3 trees 13 ניתוח בשיטת החיובים נגדיר מחיר משוערך של 2 שקלים לקביעת שקלים לקביעת ערך של סיבית ל- 0. ערך של סיבית ל- 1 ומחיר של 0 הרעיון: כאשר ערכה של הסיבית נקבע ל- 1 אנו משלמים שקל אחד )מתוך השניים(. השקל השני נשמר כיתרת זכות עבור פעולת איפוס עתידית של סיבית זו. נחשב את המחיר המשוערך של פעולת.Increment במהלך ביצוע פעולת,Increment סיבית אחת לכל היותר מחליפה את ערכה מ- 0 ל- 1, ולפיכך המחיר המשוערך של פעולת increment הוא לכל היותר 2 שקלים. מכיוון שיתרת הזכות לעולם אינה שלילית )כל סיבית שמכבים הודלקה קודם( נובע שהמחיר המשוערך הכולל של n פעולות Increment הוא,O(n) וזהו חסם על המחיר הכולל בפועל. המחיר המשוערך לפעולה הוא (1)O.

םי- 2-3 trees 14 ניתוח בשיטת הפוטנציאל נגדיר את פוטנציאל המונה לאחר ביצוע פעולת ה- Increment ה- i על ידי מספר. Φ(D i )=b i ה- 1 במונה לאחר ביצוע פעולה זו. נסמן מספר זה ב- לפיכך הפרש הפוטנציאלים הוא: לדוגמא בהפעלת על A=11010111 Incremet יתקבל בפעולה זו מתאפסות שלוש סיביות ומשתנות ארבע סיביות. הפרש הפוטנציאלים 2-. A=11011000

2-3 trees 15 ניתוח בשיטת הפוטנציאל מכיוון שהפרש הפוטנציאלים הוא: מתקבל שהמחיר המשוערך קבוע: מתקיים שהפוטנציאל של D 0 הוא 0 והפוטנציאל לכל i תמיד גדול מאפס. לפיכך המחיר המשוערך הכולל של n פעולות increment מהווה חסם עליון על המחיר הכולל בפועל. חסם זה הוא 2n.

2-3 trees 16 cs,technion

2-3 trees 17 הרחבה של טבלאות כאשר מגדירים מערך קובעים מראש את מספר האיברים המקסימלי. ומה לעשות כאשר נוצר צורך בחריגה ממספר האיברים המקסימלי שהוגדר מראש? אלגוריתם: איבר ראשון יוכנס בטבלה בגודל 1. כאשר הטבלה הנוכחית בגודל m מלאה, נכפיל את גודלה ל- 2m נעביר את האיברים למבנה המוכפל ואז נכניס את האיבר החדש. מחיר בפועל של העברה של m איברים לטבלה מוגדלת הוא.O(m) מהו המחיר הכולל ל- n פעולות הכנסה? בניתוח גס פעולת הכנסה עולה O(n) שכן היא עלולה לגרום להכפלת גודל המבנה ולהעברה של n איברים למבנה החדש. לפיכך המחיר של סדרה בת n פעולות הכנסה חסום עי ) 2.O(n והמחיר המשוערך לפעולה הוא.O(n) גרוע!!!

2-3 trees 18 ניתוח בשיטת הצבירה הניתוח הקודם גס מאד מכיוון שבסדרת פעולות הכנסה I 1 I, 2 I,, k פעולת ההכפלה היקרה מתבצעת רק כאשר מספר האיברים במבנה הינו חזקה מדויקת של 2. זהו מאורע נדיר ולכן המחיר המשוערך לפעולה יוצא (1)O כפי שניווכח. המחיר בפועל ואחרת 1. c i של פעולת הכנסה הוא i אם 1-i היא חזקה מדויקת של 2, לפיכך מחיר של n פעולות הכנסה חסום כדלקמן שכן לכל היותר יש n במחיר יחידה ושאר הפעולות במחיר המסתכם בטור גאומטרי: פעולות

2-3 trees 19 ניתוח בשיטת החיובים נקבע מחיר משוערך לפעולת ההכנסה להיות 3= i C. ואז החסם ל- n פעולות הוא 3n. הרעיון הוא שבכל הכנסת איבר למבנה יש )א( לשלם 1 שקל על ההכנסה הנוכחית למבנה )ב( להפקיד 1 שקל על העברה עתידית של האיבר הנוכחי למבנה מוגדל )ג( להפקיד 1 שקל עבור העברה עתידית של איבר אחר במבנה. טענה: המאזן תמיד חיובי. נניח שגודל הטבלה הוא m מיד לאחר הכפלה. מספר האיברים שהיו במבנה לפני ההכפלה הוא 2/m והיתרה לאחר העברתם היא B. עלות הכנסה של איבר היא שקל. שקל נוסף נזקף לאיבר כקרדיט ושקל נוסף נזקף כקרדיט לאחד מ- 2/m האיברים במבנה המוכפל. מילוי הטבלה עד להכפלה נוספת דורש 2-1/m הכנסות נוספות. לפיכך עד שהטבלה מתמלאת כל איבר קיבל שקל כקרדיט. זהו בדיוק מחיר ההכפלה הבאה ולכן הקרדיט אחריה נשאר B. הכנסות איברים בין ההכפלות רק מגדילות את B. והקרדיט B לאחר ההכנסה הראשונה לא שלילי.

2-3 trees 20 ניתוח בשיטת הפוטנציאל נרצה פונקציית פוטנציאל שהיא 0 מיד לאחר ההכפלה וגדלה למקסימום כאשר הטבלה מלאה. למשל נקבע פוטנציאל: Φ)D i )=2n i -m i כאשר n i הוא מספר האיברים במבנה D i ו- m i הוא הגודל הנוכחי של המבנה D. i ואמנם כאשר המבנה מלא כלומר,,n=m הפוטנציאל הוא m ורגע לאחר ההכפלה הפוטנציאל של המבנה הוא 0 שכן מתקיים.2n-m=0

2-3 trees 21 ניתוח בשיטת הפוטנציאל נראה שחסם זה הוא 3n. לשם כך נראה שהמחיר המשוערך לפעולת הכנסה הוא 3= i C. ישנם שני מקרים: הכנסה ללא הכפלה והכנסה הגורמת להכפלה. עבור הכנסה ללא הכפלה, שמחירה בפועל 1, מתקיים m i =m i-1 ולפיכך: עבור הכנסה עם הכפלה, שמחירה בפועל,n i מתקיים i-1 m i =2m וכן -1 i.m i-1 = n i-1 =n ומכאן -1) i.m i =2(n ולפיכך:

2-3 trees 22 הרחבה של ערימה כאשר מגדירים ערימה קובעים מראש את מספר האיברים המקסימלי כאשר הערימה מיוצגת כעץ בינארי כמעט שלם תוך שימוש במערך. ומה לעשות כאשר יש חריגה ממספר האיברים המקסימלי שהוגדר מראש? פתרון: נתחיל בערימה בגודל 1. כאשר הערימה הנוכחית מתמלאת נכפיל את גודלה ונכניס את האיברים למבנה המוכפל. מהו הזמן הכולל ל- n פעולות הכנסה? באותן השיטות ניתן לבדוק שהמחיר המשוערך לסדרת הפעולות הוא log(n)) O(n ולפיכך המחיר המשוערך לפעולה נותר.O(log(n)) באותן השיטות גם מראים שהכנסה לטבלאות ערבול מתרחבות דורשת זמן ממוצע משוערך של (1)O.

2-3 trees 23 הרחבה וכווץ של טבלאות מה לעשות כאשר מספר האיברים בטבלה מצטמצם מאד יחסית לגודלה. נרצה לשחרר זיכרון ולהקטין את הטבלה. אלגוריתם מוטעה: איבר ראשון יוכנס בטבלה בגודל 1. כאשר הטבלה הנוכחית בגודל m מתמלאת, נכפיל את גודלה ל- 2m ונעביר את האיברים למבנה המוכפל. כאשר בטבלה נותרים 2/m איברים הם מועברים לטבלה בגודל 2/m. מה הבעיה? נסתכל על טבלה שהוכפלה ומספר איבריה בדיוק מעל חצי גודלה. נוציא שני איברים, נכניס שני איברים, נוציא שני איברים ונכניס שני איברים, וכך הלאה n פעמים. בצורה זו חצי מכל הפעולות הללו דורשות צמצום או הרחבה והמחיר המשוערך לפעולה בודדת הוא.O(n) גרוע!!!

2-3 trees 24 שיפור האלגוריתם בעזרת שיטת הפוטנציאל בסדרה של הכנסות בלבד צברנו תמיד מספיק פוטנציאל לכל הכפלה. הבעיה בדוגמה הקודמת היא שאין מספיק צבירת פוטנציאל לקראת הכפלה או חלוקה. אלגוריתם: איבר ראשון יוכנס בטבלה בגודל 1. כאשר הטבלה הנוכחית בגודל m מתמלאת, נכפיל את גודלה ל- 2m ונעביר את האיברים למבנה המוכפל. כאשר בטבלה נותרים 4/m איברים הם מועברים לטבלה בגודל 2/m. כיצד השינוי הקטן הזה עוזר? ראינו כבר שטבלה מלאה צוברת פוטנציאל להכפלה. כאשר מספר האיברים מצטמצם ניתן להשתמש בפוטנציאל זה כדי להעבירם לטבלה קטנה יותר אבל יש לחייב הגדלת פוטנציאל לפני שמחזירים אותם לטבלה גדולה יותר. מכיוון שמעבירים 4/m איברים לטבלה בגודל 2/m עד למילוי טבלה זו יוכנסו עוד 4/m איברים וייצבר הפוטנציאל להכפלה חדשה.

2-3 trees 25 ניתוח בשיטת הפוטנציאל נזכר שפקטור העומס של טבלה.α i =n i / m i מוגדר ע"י D i נשים לב שהפוטנציאל לטבלה D 0 הוא )0= 0 0 n( 0 m= ושהפוטנציאל לעולם אינו שלילי. לכן המחיר המשוערך הכולל הוא חסם עליון על המחיר הכולל בפועל. נשים לב שכאשר המבנה מלא כלומר,,n=m הפוטנציאל מקסימלי והוא m ורגע לאחר ההכפלה הפוטנציאל של המבנה הוא 0 שכן מתקיים 2n=m )וגם התנאי השני מתקיים m/2=n כלומר פונקציית הפוטנציאל רציפה(. כאשר המבנה יורד לרבע מגודלו )4/ i m( אזי הפוטנציאל בו כמספר האיברים )4/ i m(.

2-3 trees 26 חישוב המחיר המשוערך לפי הפוטנציאל אנו צריכים לחשב את המחיר המשוערך C i עבור פעולת ההכנסה ופעולת ההוצאה כאשר מתקיימים או לא מתקיימים הרחבות וכווצים ועבור ערכים שונים של פקטור העומס לפני ואחרי הפעולה. די הרבה מקרים ודי מעייף. אבל בכל המקרים קל לראות שהמחיר המשוערך לפעולה קטן מ- 3 ולכן המחיר הכולל בפועל לסדרה בת n פעולות הוא.O(n)

2-3 trees 27 חישוב מחיר הכנסה משוערך לפי הפוטנציאל

2-3 trees 28 חישוב מחיר הוצאה משוערך לפי הפוטנציאל